import Vue from 'vue'
import VueRouter from 'vue-router'

// 导入对 push 和reqlace 方法增强的文件
import './extendRouter'

// import './text' // 测试

// 导入 routes 路由文件
import routes from './routes'

Vue.use(VueRouter)

const router = new VueRouter({
  routes,
  // scrollBehavior 作用 : 控制路由的滚动行为
  //  to : 即将进入的路由组件, 表示 去那
  // from : 列表,从哪来,从那个页面进入当前路由的
  // savedPosition : 只有点击浏览器的后退按钮才会有值,否则值是一个 null
  // savedPosition 打印结果是一个对象,包含着 X轴 / Y轴的滚动距离
  scrollBehavior(to, from, savedPosition) {
    // 内部必须 return 返回期待滚动到那个位置

    // 如果 savedPosition 中有值,则表明点击的是浏览器的前进或者后退按钮
    if (savedPosition) {
      return savedPosition
    } else {
      // 如果进入else下的逻辑,则表明点击的是编程式导航
      // 表明进入的是一个新界面,让坐标都设置成 0
      return { x: 0, y: 0 }
    }
  }
})

export default router
